home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
InfoMagic Standards 1994 January
/
InfoMagic Standards - January 1994.iso
/
misc
/
merit
/
1993
/
93_014.txt
next >
Wrap
Text File
|
1993-01-10
|
64KB
|
1,712 lines
________________________________________________________________
SOURCE: Digital Equipment Corporation
Radia Perlman
550 King St, Littleton MA 01460
(508)486-7648
Fax (508)486-7529
Perlman@DSmail.Enet.Dec.Com
________________________________________________________________
TYPE OF CONTRIBUTION: SPECIFICATION
________________________________________________________________
ISSUE ADDRESSED: Specification for Implementation of
Connectionless OSI over SMDS
________________________________________________________________
DATE: December 28, 1992
________________________________________________________________
DISTRIBUTION: UNLIMITED
________________________________________________________________
ABSTRACT
Text of Abstract.
This document specifies the method that will be used to run
connectionless OSI over SMDS. Connectionless OSI includes CLNP [ISO
International Standard 8743], ES-IS [ISO International Standard 9542],
and IS-IS [ISO International Standard 10589]. This document assumes
basic familiarity with these standards. The design in this document
attempts to minimize routing control traffic and manual configuration.
The issues involve judicious use of CLNP addressing, encapsulation for
coexistence with other protocols running over SMDS, enabling ESs to
find an active IS, enabling ISs to find each other, optimizing routes
across SMDS (eliminating double-hopping across SMDS), and efficient
and reliable distribution of LSPs (link state packets) across SMDS.
1 CONVENTIONS
The following language conventions are used in the items of
specification in this document:
a) MUST, SHALL, or MANDATORY -- the item is an absolute
requirement
b) SHOULD or RECOMMENDED -- the item should generally be
followed for all but exceptional circumstances
Page 2
c) MAY or OPTIONAL -- the item is truly optional and may be
followed or ignored according to the needs of the
implementor.
2 INTRODUCTION
Connectionless OSI has been designed to operate over point to point
links, and over LANs. SMDS does not fit either model. It is not like
a point to point link because it is multiaccess and requires a data
link destination address. It is not like a LAN because it is a
tariffed service, costs across it cannot be assumed to be the same for
all destinations, bandwidth use should be more conservative than on a
LAN, multicast recipients have to be preconfigured, and there is a
limit to the number of recipients of any SMDS group address.
On SMDS, the SMDS individual address of a station is determined at
subscription time by the SMDS service provider. A group address is
assigned by the SMDS service provider (in contrast to an 802 LAN,
where the multicast addresses can be known beforehand and specified in
the spec), and the list of the individual members of the group has to
be configured by the service provider (in contrast to an 802 LAN,
where any node can listen to any address). The membership of an SMDS
group cannot change dynamically.
There are three basic pieces to the Network Layer which are covered by
this document. The first is CLNP, which is the data packet format and
the addressing structure. The second piece is ES-IS, which is the
handshaking protocol between neighbor ESs and ISs, which enables ISs
to keep track of adjacent ESs, and ESs to keep track of at least one
IS. It also enables nodes to keep a correspondence between Network
Layer addresses and Data Link Layer addresses. The third piece is
IS-IS, which is the intra-domain routing protocol.
IDRP (InterDomain Routing Protocol) is being standardized as an
inter-domain routing protocol for CLNP, but we will not discuss that
in this document. At some point, operation of IDRP across SMDS should
be standardized, but in this document some combination of judicious
use of CLNP addressing, manual configuration, and use of IS-IS will
suffice for interconnection of connectionless OSI nodes across SMDS.
Variable length fields in packets are encoded as "options", with an
octet that specifies the option type, a length field specifying the
length of the data associated with the option, and a field with the
data associated with the option. Option types with associated data
fields that are likely to be very long are specified with a 2 octet
length field. Option types with data which would not exceed 256
octets are specified with a 1 octet length field.
This specification only relates to routers and endnodes directly
connected to SMDS. No changes are required to routers and endnodes
not directly connected to SMDS.
Page 3
Note that the packets defined in this document never propagate beyond
SMDS. They are used for negotiating with neighbors across SMDS.
Packets that do get forwarded (for instance, link state packets, data
packets) are not affected by this document, other than the definition
of how they are encapsulated with an SMDS header while traversing
SMDS. The packets in this document have the same packet types and
basic function as packets defined in ES-IS and IS-IS for neighbor
handshaking. However, since neighbor handshaking protocols are
technology dependent, the encoding of the packets for SMDS are
different from the packets defined for 802 LANs.
2.1 CLNP Addresses
A CLNP address consists of:
+--------------------+----------+----------------------+-----+
| IDP | LOC-AREA | ID | SEL |
+--------------------+----------+----------------------+-----+
SMDS addresses are E.164 addresses. The first octet of the IDP in a
CLNP address specifies the type of address encoded in the IDP. One
type is an E.164 address. Therefore it is possible to learn, from the
initial portion of the IDP, that an address is an E.164 address, and
examination further into the IDP can yield information such as country
code, area code, exchange, and finally the entire E.164 address.
Level 2 IS-IS routing routes to address prefixes. Therefore a router
attached to SMDS can be configured to advertise that it can reach any
E.164 address, or be more specific about addresses by including a
longer address prefix.
It is recommended but not required that the nodes in a CLNP net
attached to SMDS via router R use R's SMDS address in their IDP. All
nodes (ESs and ISs) attached to SMDS will be configured with
information about the CLNP address prefixes reachable directly on
SMDS. If a destination's IDP contains the SMDS address to which
packets for that destination should be forwarded, communication to
that destination is possible without forwarding by an IS, manual
configuration, or previous routing protocol exchange. If CLNP
addresses are not assigned this way communication is still possible,
but it involves additional manual configuration or routing protocol
messages.
If the destination's IDP is not the router's SMDS address as described
in the previous paragraph, the packet is initially transmitted to a
nonpassive router, which will have learned how to reach the
destination's address either through manual configuration or previous
protocol exchange. The nonpassive router will issue Redirect messages
when necessary to prevent multiple hop routes across SMDS.
Page 4
2.2 Types Of Nodes Attached To SMDS
There are the following types of ESs connected to SMDS:
1. "Simple-ES": A simple ES is one that has its SMDS address as
its IDP. The CLNP ISs do not have to keep track of such an
ES, since it will automatically be reachable. Although a
simple-ES need not be continually in contact with routers (as
would be the case if the ES needed to keep the network
informed of its existence), such an ES does need to be able
to find an IS quickly in the event that it needs to transmit
a packet to an IDP that is not obviously reachable on the
SMDS net. The message that it sends is an ES Hello. The act
of sending the message is known as "pinging".
2. "Configured-ES": A Configured-ES is an ES that does not use
its SMDS address as its IDP, but whose CLNP/SMDS address pair
has been configured into all the nonpassive (see types of
routers) routers on SMDS. A configured-ES does not need to
keep in contact with ISs, since the ISs have been manually
configured to know how to reach the ES. However, as with a
Simple-ES, a Configured-ES does need to be able to find an IS
quickly in the event that it needs to transmit a packet to an
IDP that is not obviously reachable on the SMDS net.
3. "Dynamically-Learned ES": A Dynamically-Learned-ES is an ES
that does not use its SMDS DTE address as its IDP and whose
CLNP/SMDS address pair has not been configured into all the
nonpassive routers. Dynamically-Learned-ESs must keep in
continual contact with a nonpassive router so that the
network can learn how to reach the ES. It is highly
desirable, and in almost all cases easy, to avoid the
necessity for having any Dynamically-Learned-ESs since
keeping the network informed about these ESs consumes
bandwidth.
There are the following types of ISs:
1. "Passive-IS": A Passive-IS attaches a portion of the network
to SMDS, and the IDP of all nodes in that portion equals that
router's SMDS address. A Passive-IS is equivalent to a
Simple-ES. Like a Simple-ES, it does not need to communicate
with other ISs unless it has traffic to forward off the SMDS
network.
2. "Configured-Passive-IS": This is an IS, R, that, although it
attaches nodes to SMDS that have IDPs other than R's SMDS
address, can still behave like a Passive-IS because all
Nonpassive-ISs on SMDS have been configured with the address
prefixes reachable through R.
3. "Nonpassive-IS": A router that runs IS-IS. It is possible
for a router to be configured to be a Nonpassive-IS even if
all the nodes it can reach off SMDS have the appropriate IDP.
Page 5
In most cases, however, this would be undesirable, since
running IS-IS consumes bandwidth. In general, the
Nonpassive-ISs will be those that attach to a complex portion
of the OSI network with a large and dynamically changing set
of CLNP address prefixes.
2.3 ES-IS For SMDS
ES-IS for SMDS is similar to ES-IS for 802 LANs. The difference is
that on 802 LANs, ESs continually multicast to the ISs, and the ISs
continually multicast to the ESs. This is undesirable on SMDS since
it consumes too much bandwidth. Simple-ESs and Configured-ESs will
not require periodic exchange of Hello messages. Instead, a Simple-ES
will be configured with a set of addresses for reaching ISs, and will
send a message requiring a reply to that set of addresses when the
need for an IS arises.
A Dynamically-Learned-ES will need to periodically send ES Hellos to a
Nonpassive-IS, since otherwise the network will not know how to route
to that ES. Since the ES must know whether its ES Hello is reaching
an IS, the IS will have to periodically reassure the ES that it is up
and receiving the ES Hellos. Therefore ES-IS for a
Dynamically-Learned-ES is very similar to ES-IS for 802 LANs, i.e.
the ES periodically sends ES Hellos to an IS (though in the SMDS case
it only needs to send to one IS, the Designated Router (DR)), and that
IS periodically sends IS Hellos to that ES. The way the ES finds the
DR is that the ES initially sends to some configured set of addresses
of routers. A router other than the DR that receives an ES-Hello
transmits a Hello Redirect, redirecting that ES to the DR's SMDS
address. The ES, as a result of receiving the Hello Redirect, sends
an ES Hello to the indicated SMDS address, which will cause the DR to
start transmitting DR-ES Hellos to the ES. An ES that is receiving
DR-ES Hellos transmits ES Hellos only to the SMDS address from which
it is receiving DR-ES Hellos.
In order for a Dynamically-Learned-ES and the DR to find each other,
at least one of the following must have occurred:
1. the ES will have been configured with SMDS addresses for
reaching ISs, and the DR receives messages on one of those
configured addresses, or an IS which is currently up has
received the ESs Hello and sent a Hello Redirect
2. at least one IS that is currently up has been configured with
an SMDS address which that ES receives.
Both mechanisms are provided to allow the flexibility of configuration
at the ES, configuration at the ISs, or some combination.
Note that the configuration information for Configured-ESs is
different from the configuration information for
Page 6
Dynamically-Learned-ESs. The configuration information at an IS for a
Dynamically-Learned-ES is an SMDS address that will reach that ES. It
might be an SMDS group address that will reach that ES and many
others, or it might be an SMDS individual address. Information for
Dynamically-Learned-ESs may be configured into only a subset of ISs
(and possibly none of the ISs provided that the Dynamically-Learned-ES
has been configured with SMDS addresses for reaching ISs). In
contrast, information for Configured-ESs must be configured into every
Nonpassive-IS, and it consists of the unicast SMDS address, CLNP
address pair for that ES.
The other part of ES-IS on 802 LANs involves having routers sending
Redirect messages, and ESs keeping a cache of (destination Network
Layer address, Data Link address to forward to) correspondence. That
portion of ES-IS will remain the same on SMDS, although Redirects will
also be sent to routers, and routers will also keep Redirect caches.
2.4 IS-IS On SMDS
There are two parts of IS-IS relevant to SMDS:
1. how all the ISs find each other and elect a Designated Router
2. how an LSP is reliably and efficiently broadcast across SMDS
2.4.1 ISs Finding Each Other - On 802 LANs, ISs find each other by
multicasting IS Hellos to a multicast address that does not need to be
manually configured because it is a predefined number and appears in
the specification of IS-IS. This is not possible in SMDS. Even
though it provides a multicast function, the actual SMDS group address
is assigned by the SMDS provider.
In SMDS, we will allow but not require exploitation of the multicast
capability provided by SMDS. We will assume that there are zero or
more SMDS group addresses assigned for reaching routers (since there
are a limited number of recipients for an SMDS group address). Each
router will be configured with a set of addresses for reaching other
routers. The configured addresses can be any mixture of SMDS
individual and SMDS group addresses. By exchanging IS Hellos, the
routers eventually decide upon a Designated Router, and thereafter all
routers send IS Hellos only to the DR, and the DR sends IS Hellos to
all the routers, listing in the IS Hellos all the other routers that
are up.
2.4.2 Reliable And Efficient LSP Distribution Across SMDS -
An SMDS IS that has an LSP to transmit across SMDS unicasts the LSP to
the DR. The DR transmits it to all the ISs. There are no explicit
Page 7
acknowledgments. Instead, the DR periodically transmits CSNPs, which
summarize the state of the LSP database. If based on the CSNP a
router discovers a discrepancy between its own LSP database and the
DR's, the router retransmits the missing LSP to the DR or requests the
DR's LSP, as appropriate.
2.5 Packet Encapsulation
The convention is that 802.2 encapsulation is used for protocols
running on SMDS. OSI CLNS has a SAP assigned, so the data portion of
the SMDS packet will have the fields:
1. DSAP (1 octet) = fe hex
2. SSAP (1 octet) = fe hex
3. CTL (1 octet) = 3
4. Start of CLNS packet -- NLPID is the first octet, which is 81
hex for CLNP, 82 hex for ES-IS and 83 hex for IS-IS.
2.6 Multiply Attached Nodes
+----------+
| | SMDS |--R3
|-R1-|x |
|-R2-|y |
A--| | |
| |
+-----------
In the above picture, A can be reached over SMDS via either R1, with
SMDS address x, or R2, with SMDS address y. If R3 is to be
preconfigured for reaching A, it must be possible to configure both x
and y as SMDS addresses for reaching A.
To accommodate portions of the network attached via multiple routers,
the configuration information for reaching a CLNP address prefix will
consist of a set of SMDS addresses. Any node that initiates
communication with a destination whose CLNP address matches a
preconfigured address prefix that is configured with a set of SMDS
addresses initially stores the entire configured set of associated
SMDS addresses in a cache, and tries each one round robin as packets
are transmitted to that destination. Once traffic is received from
that destination, the SMDS address from which traffic from that
destination is received is written into the cache and all other
addresses are discarded. Future packets to that destination are sent
only to that SMDS address, until the cache entry is deleted due to not
Page 8
being verified by incoming traffic from that CLNP destination address,
SMDS address pair.
2.7 Security
In order to prevent an unauthorized node on SMDS from sending messages
claiming to be an OSI node, it must be possible to configure the nodes
on SMDS to require a password before believing a node to be a valid
neighbor. The link to SMDS is configured with a password to include
in a Hello message or Hello Redirect, as well as a set of passwords
acceptable in a received Hello message or Hello Redirect. If no
transmit password is configured, then the password option is not
included in the packet. If no receive passwords are configured, then
the password option, if it appears in a received Hello or Hello
Redirect message, is ignored.
An endnode is configured with a single transmit password, and a set of
receive passwords acceptable in a received IS to ES Hello or Hello
Redirect. A level 1 router is configured with a transmit password to
be included in the level 1 IS Hello and Hello Redirect and a
(potentially different) password to be included in the IS to ES Hello
and a Hello Redirect sent to an ES. It is also configured with a set
of receive passwords acceptable in ES Hellos, and a set of receive
passwords acceptable in level 1 IS Hellos and Hello Redirects. A
level 2 router configured to consider the SMDS network as level 2 only
is configured with a single transmit password for level 2 IS Hellos
and Hello Redirects, and a set of receive passwords acceptable in
received level 2 IS Hellos and Hello Redirects. A level 2 router that
considers the SMDS net as both level 1 and level 2 has the
configuration for both level 1 and level 2. It is possible for
passwords to be the same (for instance, the receive and transmit
password can be the same, and/or the level 1 and level 2 passwords can
be the same).
Security can be added to an existing deployed network running on SMDS
without disruption. For example, assume the level 1 routers in a
network are running without any password checking. That means that no
level 1 routers are configured with transmit or receive passwords.
All nodes are therefore transmitting Hellos and Hello Redirects
without the password option, and are all ignoring the password option
in received Hellos and Hello Redirects. To add a password, the
network manager must configure all nodes, one by one, to transmit a
particular password. Then, after all nodes have been configured to
transmit the password, configure the receive password set in each
router, one by one, to be the specified password.
Note that an intruder cannot fool existing nodes to transmit the
password. A router sends the password only in a Hello message
transmitted to an SMDS address it has been configured to transmit to,
or to an SMDS address it has been informed of by a node it already
trusts (because of having received a valid password from the node in a
Hello or a Hello Redirect, or having been configured with its address,
or because of having been told of its SMDS address in a Hello message
Page 9
with a valid password).
An intruder can do some damage by sending data Redirect messages.
Adding a password to the data Redirect message has some problems:
1. The data message does not contain a password, and it would
therefore be possible for an intruder to trick a router into
sending a Redirect message (containing a password), by
sending it a data message it will need to forward.
2. It must be possible to believe a Redirect from a router in a
different area. It is not advisable to require nodes to be
configured with passwords from other areas.
For these reasons, there is no password in the data Redirect. Instead
the following mechanism is provided. Assume node N receives a
Redirect from SMDS address A which informs N that for destination D it
should transmit to SMDS address B. N rejects the Redirect unless A is
the SMDS address to which N would transmit packets with destination
address D.
As a performance optimization, if N is an ES that has the null set as
the configured set of receive passwords, or an IS with the null set as
the configured set of IS receive passwords (level 1 or level 2), then
N may skip the validity check on the data Redirect.
3 CONFIGURATION INFORMATION
3.1 Simple-ES, Configured-ES, Passive-IS, Configured-Passive-IS
The following information must be configured into ESs and ISs of types
Simple-ES, Configured-ES, Passive-IS, or Configured-Passive-IS that
are attached to SMDS.
1. Set of SMDS addresses for reaching routers. Each of these
addresses may be an SMDS group address or an SMDS individual
address.
2. Set of CLNP address prefixes reachable on SMDS
a) CLNP address prefix
b) flag indicating SMDS address should be extracted from the
IDP, or if flag is false, an SMDS address or set of SMDS
addresses to which packets for that CLNP address prefix
should be forwarded
c) preferred carrier (to be used in filling in the SMDS
header when routing to that address prefix). This is an
optional field in the SMDS header and it is optional to
configure it. If not configured, the field will not be
present in the SMDS header.
Page 10
3. Minimum time (in seconds) between pings of any one configured
SMDS address for reaching routers
4. Time (in seconds) to give up on one SMDS address for finding
a router and switching to pinging the next one on the list
5. Transmit password -- a variable length value to be included
in ES Hellos. If no password is configured (or a null
password is configured), the password option is not included
in ES Hellos.
6. Set of receive passwords -- a set of variable length values.
If none are configured (the set is the null set), then the
password option, if it is included in received IS Hellos and
Hello Redirects, is ignored. If the set is not null, then
one of the values must appear in a received IS Hello or
Redirect or the message will be discarded as invalid.
3.2 Dynamically-Learned-ESs
1. Set of SMDS addresses for reaching routers. Each of these
addresses may be an SMDS group address or an SMDS individual
address.
2. Set of CLNP address prefixes reachable on SMDS
a) CLNP address prefix
b) flag indicating SMDS address should be extracted from the
IDP, or if flag is false, an SMDS address or set of SMDS
addresses to which packets for that CLNP address prefix
should be forwarded
c) preferred carrier (optional)
3. Hello Timer. Number of seconds between transmission of Hello
Messages by this endnode.
4. SMDS Group address (if any) that this node receives packets
on, as a CLNP endnode.
5. Flag as to whether to send Level 1 ES Hello or Level 2 ES
Hello
6. If Level 2 ES Hello, a set of CLNP address prefixes to
advertise
7. Transmit password -- a variable length value to be included
in ES Hellos. (optional)
Page 11
8. Set of receive passwords -- a set of variable length values.
If none are configured (the set is the null set), then the
password option, if it appears in a received IS Hello or
Hello Redirect, is ignored. If the set is not null, then one
of the values must appear in a received IS Hello or Hello
Redirect or the message will be discarded as invalid.
3.3 Nonpassive-ISs
The following information must be configured into Nonpassive-ISs that
are attached to SMDS, with the following exceptions. If a router is a
level 1 router, the fields corresponding to level 2 information are
not configured. If a router is a level 2 router, then the relevant
configuration information depends on how the link is configured. If
the link is configured as "level 2 only", then only the level 2
information applies. Otherwise, both the level 1 and level 2
information is applicable.
1. Link type: either "level 2 only" or "both level 1 and level
2". (If the router is a level 1 only router, then "both
level 1 and level 2" just means level 1.)
2. Level 1 Configured-ES addresses. Each entry contains:
a) ID, ID length octets (ID length is a constant for the
routing domain and is most likely equal to 6)
b) SMDS address, 8 octets
3. Preconfigured CLNP Address Prefixes
a) CLNP address prefix
b) flag indicating SMDS address should be extracted from the
IDP, or if flag is false, an SMDS address or set of SMDS
addresses to which packets for that CLNP address prefix
should be forwarded
c) Preferred Carrier (to use when routing to that address
prefix)
4. Link Costs. Each entry contains:
a) SMDS address prefix length specified in number of bits, 1
octet
b) SMDS address prefix, (padded with 0's to make it 8
octets)
c) Cost from this node to a node with the above SMDS address
Page 12
prefix
The cost across SMDS to a particular SMDS address S is the
cost configured for the longest SMDS address prefix that
matches S.
5. Level 1 router SMDS Group Address. The SMDS group address
this node receives packets on as a level 1 router, 8 octets.
This field configured to 0 means this node is not a member of
a multicast group for receiving level 1 routing information
6. Level 2 router SMDS Group Address. The SMDS group address
this node receives packets on as a level 2 router, 8 octets.
This field configured to 0 means this node is not a member of
a multicast group for receiving level 2 routing information.
7. Priority for becoming Level 1 designated router, 1 octet
8. Priority for becoming Level 2 designated router, 1 octet
9. ES SMDS addresses. SMDS addresses (individual and/or group)
for reaching ESs. Each entry consists of:
a) SMDS address, 8 octets
10. Level 1 Router SMDS addresses. SMDS addresses (individual
and/or group) for reaching other level 1 routers. Each entry
consists of:
a) SMDS address, 8 octets
11. Level 2 Router SMDS addresses. SMDS addresses (individual
and/or group) for reaching other level 2 routers. Each entry
consists of:
a) SMDS address, 8 octets
12. Level 1 IS to IS Hello Timer -- 2 octets. Time in seconds
between periodic transmission of IS Hello messages to the
level 1 Designated Router (or if this node is the level 1 DR
for that area, to all the level 1 routers in that area)
13. Level 2 IS to IS Hello Timer -- 2 octets. Time in seconds
between periodic transmission of IS Hello messages to the
level 2 Designated Router (or if this node is the level 2 DR,
to all the level 2 routers)
14. IS to ES Hello Timer -- 2 octets. Time in seconds between
transmission of Hello messages to the endnodes on SMDS which
have transmitted ES Hellos, which is only relevant if this
node is Designated Router. If this node is level 1 DR, then
DR to ES Hellos are transmitted to those ESs that have
Page 13
transmitted level 1 ES Hellos. If this node is level 2 DR,
then DR to ES Hellos are transmitted to those ESs that have
transmitted level 2 ES Hellos (which advertise CLNP address
prefixes).
15. Redirect cache holding timer -- 2 octets. The value to put
into Redirect messages as the holding timer.
16. Level 1 IS Transmit password -- a variable length value to be
included in level 1 IS Hellos and Hello Redirects.
(optional)
17. Level 1 IS set of receive passwords -- a set of variable
length values. If the set is the null set then the password
option, if it appears in a received Level 1 IS Hello and
Hello Redirect, is ignored. If the set is not null, then one
of the configured values must appear in a received IS Hello
or Hello Redirect or the packet will be discarded as invalid.
18. ES set of receive passwords -- a set of variable length
values. If the set is the null set, then the password option
(if it appears) in received ES Hellos is ignored. If the set
is not null, then one of the configured values must appear in
a received ES Hello or the ES Hello will be discarded as
invalid.
19. ES Transmit password -- a variable length value to be
included in the DR to ES Hello and Hello Redirect.
(optional)
20. Level 2 Transmit password -- a variable length value to be
included in level 2 IS Hellos and Hello Redirects.
(optional)
21. Level 2 Set of receive passwords -- a set of variable length
values. If the set is the null set, then the password option
(if it appears) in received Level 2 IS Hellos and Hello
Redirects is ignored. If the set is not null, then one of
the values must appear in a received Level 2 IS Hello or
Hello Redirect or the packet will be discarded as invalid.
22. Time for remembering a manually configured ES or IS SMDS
address reported in an IS-Hello in option types 1 or 3. This
is used only by the DR (but must be configured into all
routers, since any router might become DR). It is 1 octet,
specified in minutes, with a default of 10. If no router has
reported an SMDS address in option types 1 or 3 in an
IS-Hello the DR has received within this amount of time, that
address is discarded from the DR's dynamic database of
configured addresses reported by IS neighbors.
Page 14
4 DATABASES
4.1 Kept By Simple-ES, Configured-ES, Passive-IS, And
Configured-Passive-IS
1. Active Router Information
a) SMDS address, 8 octets
b) Holding Timer
c) Time since cache entry verified, either by receipt of IS
Hello or receipt of data packet forwarded from that SMDS
address
2. Backup Active Router Information (other routers that answered
the ping)
a) SMDS address, 8 octets
b) Holding Timer
c) Time since cache entry verified, either by receipt of IS
Hello or receipt of data packet forwarded from that SMDS
address
3. Router SMDS addresses pinged -- for each configured SMDS
address for reaching nonpassive routers, a timestamp as to
when a ping was last sent to that address
4. Destination cache
a) CLNP address prefix (or optionally, for implementation
simplicity, complete NSAP address)
b) Set of SMDS addresses for this address prefix, with a
pointer indicating which one was chosen most recently in
the round robin use of the preconfigured set of SMDS
addresses. Once traffic is received from an SMDS
address, the set of addresses is replaced by the single
SMDS address.
c) Time since entry verified by incoming message (data
message from the CLNP address/SMDS pair stored in this
entry, or receipt of a Redirect with that pair specified)
Page 15
4.2 Kept By Dynamically-Learned ES
1. Designated Router Information
a) SMDS address, 8 octets
b) Holding Timer
c) Time since DR-ES Hello received
2. Destination cache
a) CLNP address prefix (or optionally, for implementation
simplicity, complete NSAP address)
b) Set of SMDS addresses for this address prefix, with a
pointer indicating which one was chosen most recently in
the round robin use of the preconfigured set of SMDS
addresses. Once traffic is received from an SMDS
address, the set of addresses is replaced by the single
SMDS address.
c) Time since entry verified by incoming message (data
message from the CLNP address/SMDS pair stored in this
entry, or receipt of a Redirect with that pair specified)
4.3 Kept By Level 1 Routers
Note that in the usual case all CLNP routers on SMDS will be level 2
routers, because they will have different IDPs (since the recommended
use of CLNP addressing over SMDS is to use the SMDS point of
attachment as the IDP). However, in certain rare cases, such as
running with DECnet Phase IV compatible addresses it may be convenient
to assign addresses such that running level 1 IS-IS over SMDS makes
sense.
1. Designated Router information (kept by routers other than the
DR) -- information from DR's IS Hello, plus
a) SMDS address of DR, 8 octets
b) Holding Timer
c) Time since Hello Received from DR
2. Adjacency Information for SMDS neighbors (kept by routers
other than the DR) -- This information is received from the
DR-IS Hello. It includes the CLNP ID/SMDS address
Page 16
correspondence for all nodes in the area reachable across
SMDS.
3. Flags for which LSPs need to be transmitted over SMDS
4. Redirect Database (for getting rid of extra hop suboptimality
on SMDS)
a) CLNP address prefix
b) SMDS address
c) holding timer
d) Time since entry verified by incoming message.
4.4 Kept By Level 2 Routers
Note that a level 2 router is also a level 1 router, so it keeps both
databases, unless the SMDS circuit is marked "level 2 only"
1. Designated Router information (kept by routers other than the
DR) -- information from DR's IS Hello, plus
a) SMDS address, 8 octets
b) Holding Timer
c) Time since Hello Received from DR
2. Adjacency Information for SMDS neighbors (kept by routers
other than the DR) -- This information is received from the
DR-IS Hello. It includes the CLNP ID/SMDS address
correspondence for all nodes in the area reachable across
SMDS.
3. Flags for which LSPs need to be transmitted over SMDS
4. Redirect Database (for getting rid of extra hop suboptimality
on SMDS)
a) CLNP address prefix
b) SMDS address
c) holding timer
d) Time since entry verified by incoming message.
Page 17
4.5 Additional Information Kept By Designated Router
(Note that in the case of a level 2 router that has the circuit marked
as "both level 1 and level 2") it will have two copies of this
database, one for level 1 and one for level 2
1. Dynamically Discovered Neighbor Endnodes
a) SMDS address, 8 octets
b) Set of CLNP IDs (if level 1), or set of CLNP address
prefixes (if level 2). IDs are ID length. Address
prefixes are variable length, up to 20 octets
c) Holding Timer
d) Time since Hello received
e) SMDS group address this ES receives messages on (if any)
2. Router Neighbors
a) unicast SMDS address for this router, 8 octets
(discovered based on the source address in the SMDS
header of the IS Hello received from this router)
b) CLNP ID
c) Holding Timer
d) Time since Hello Received
e) SMDS group address this router receives messages on (if
any)
f) Cost of the link across SMDS to this neighbor router
3. If level 1, L1-IS-SMDS-BROADCAST-ADDRESSES. If level 2,
L2-IS-SMDS-BROADCAST-ADDRESSES. The minimal set of SMDS
addresses that will reach all ISs of the appropriate level.
This includes all manually configured SMDS addresses as
configured into the DR or received by the DR in IS Hellos (in
option type 1), that will reach all routers. All reported
and configured SMDS group addresses are included, and any
SMDS individual addresses for routers that are not known to
be included in any of the multicast groups are included.
4. ES-SMDS-BROADCAST-ADDRESSES. The minimal set of SMDS
addresses that will reach all the Dynamically-Learned ESs
from which ES Hellos have been received. This is the set of
SMDS addresses reported in received IS Hellos (in option type
3), plus SMDS unicast addresses from which ES Hellos are
received, minus those unicast addresses from ESs that report
Page 18
reachability via an SMDS group address, plus any SMDS group
addresses advertised in ES Hellos.
5. Manually configured SMDS addresses for ISs, as discovered
through option type 1 in received IS-Hellos. Each entry
contains:
a) SMDS address
b) Most recent time that address was reported in any
received IS Hello
6. Manually configured SMDS addresses for ESs, as discovered
through option type 3 in received IS-Hellos. Each entry
contains:
a) SMDS address
b) Most recent time that address was reported in any
received IS Hello
5 PROTOCOLS
5.1 Electing A Designated Router
Election of a DR is done independently in each area on SMDS, and among
the level 2 routers on SMDS. The protocol assumes each router is
configured with some number of addresses of neighbor routers, but that
no such list is necessarily complete. The configured addresses can be
SMDS group addresses and/or SMDS individual addresses. One router
gets elected Designated Router. The DR transmits DR-IS-Hellos
periodically to all configured SMDS addresses for routers, which are
those that it has been configured with as well as others it learns
about through received IS-Hellos. All routers other than the DR
transmit an IS-Hello periodically, but only to the DR. The DR
includes in its DR-IS-Hello a list of all the routers on SMDS.
This protocol minimizes IS Hello traffic, and allows incomplete
configuration (for instance, it allows a new router to be installed by
merely configuring the new router with the SMDS address of any other
router).
Each router starts out assuming it is DR. A router that thinks it is
DR transmits DR-IS-Hellos periodically to each of its manually
configured SMDS addresses for router neighbors. It also receives
IS-Hellos from other routers, which contain the SMDS addresses those
routers have been manually configured with to reach router neighbors.
The DR combines all these addresses and transmits DR-IS-Hellos to all
of those addresses, plus all the SMDS addresses from which it receives
IS-Hellos, with one exception. Since some of the manually configured
Page 19
addresses might be SMDS group addresses, some routers might receive
multiple copies of the DR-IS-Hellos, which would be wasteful.
Therefore the IS-Hello contains the SMDS group address (if any) that
the transmitting router receives messages on. Then the DR can
eliminate SMDS unicast addresses that are already being covered by any
SMDS group addresses in the set.
A router stops thinking itself DR if it receives a DR-IS-Hello from a
router "more qualified" to be DR (which is based on ID and configured
priority). A router that thinks some other router is DR stops sending
DR-IS-Hellos and instead sends IS-Hellos, and only to the router it
thinks is the DR.
One additional message is a "Hello-Redirect". This is transmitted by
a router R1, that thinks router R2 is DR. R1 transmits a
"Hello-Redirect" in response to receiving an IS-Hello from R3 (since
R3 sent an IS-Hello to R1, that means that R3 thinks R1 is DR). The
Hello-Redirect informs R3 that R2's SMDS address is really the DR.
When R3 receives the Hello-Redirect, it transmits a single IS-Hello to
the SMDS address in the Hello-Redirect, but does not otherwise change
its perception of the DR. Only after it receives a DR-IS-Hello from
R2 will R3 change its perception of the DR.
The protocol is as follows:
1. If a DR other than SELF is known, periodically (IS to IS
Hello Timer) transmit IS-Hello messages to the DR. The
IS-Hello contains the transmitting router's SMDS individual
address (the source address in the SMDS header), an SMDS
group address on which it receives messages (if any), and the
SMDS addresses (group and/or individual) it was configured
with for reaching router neighbors.
2. If the Holding Timer expires without receipt of a DR-IS-Hello
from the DR, delete all information about the DR and assume
SELF is DR.
3. If router R1 which thinks R2 is DR receives an IS-Hello from
R3, R1 sends R3 a Hello-Redirect, informing R3 about R2.
4. If router R3 receives a Hello-Redirect, informing it of R2,
R3 transmits a single IS-Hello to R2, but does not change any
of its state about the DR.
5. If router R1 which thinks R2 is DR receives a DR-IS-Hello
from R4, and R4 has a higher priority for becoming DR than R2
(based on ID and priority), then R1 deletes the information
about R2 and keeps R4 as DR.
6. If router R1 thinks itself to be DR, it combines all the
configured SMDS addresses for routers that it either was
configured with or that it learned through IS-Hello messages.
It adds to that set the SMDS addresses from which it receives
IS-Hellos. It then deletes from the set of unicast
addresses, those SMDS addresses of routers that claim to be
Page 20
included in an SMDS group address in the set. This list of
addresses is the one that R1 periodically transmits
DR-IS-Hello messages to. It is called the
IS-SMDS-BROADCAST-ADDRESSES.
The DR inserts into its DR-IS Hello a list of the CLNP ID,
SMDS address pairs of each router from whom it has recently
received an IS-Hello. This list is used so that routers
other than the DR can forward to each other directly over
SMDS (i.e., they can know the SMDS address associated with
their neighbor routers).
5.2 Finding An IS
Simple-ESs, Configured-ESs, Passive-ISs, and Configured-Passive-ISs do
not maintain continual contact with a non-passive IS, as nonpassive
ISs and Dynamically-Learned ESs do. They find an IS on an as-needed
basis by "pinging". They are configured with a set of SMDS addresses
(group and/or individual) for reaching ISs. When they need an IS,
they send an ES Hello (with Holding Timer 0) to each configured
address, round robin, until a reply (in the form of a DR-ES Hello or
Hello Redirect) is received. An ES Hello with holding timer=0 is
known as a "ping".
An IS that receives an ES Hello with Holding Timer equal to 0 replies
with a DR-ES Hello (if the receiving IS is the DR) or a Hello Redirect
(if the receiving IS is other than the DR). ES implementations may
choose to store only the SMDS address of the DR (the one from which a
DR-ES is received, or the SMDS address in received Hello Redirects),
or it may choose to store more SMDS addresses for ISs as backups.
The ISs that receive ES Hellos with Holding Timer=0 reply with a
single packet (DR-ES Hello or Hello Redirect) to the SMDS address from
which the ES Hello was received, but do not otherwise store
information from the received ES Hello.
5.3 Forwarding Across SMDS
Only the DR gets IS Hellos from all the routers and ES Hellos from all
the dynamically discovered ESs. The DR will put the CLNP addresses of
all the reachable ESs and ISs in the pseudonode LSP, so all the
nonpassive routers will learn which nodes are reachable across SMDS.
However, the SMDS address will not appear in the pseudonode LSP. To
enable ISs to communicate directly, the DR's IS Hello will include the
CLNP ID, SMDS address pairs of all ISs. It will not include all the
dynamically discovered ESs in the Hello, however. Instead an IS other
than the DR that needs to transmit to a dynamically discovered ES will
first transmit to the DR, and then receive a Redirect.
The reason the DR-IS Hello contains a list of ISs but not ESs is that
Page 21
it is more important to quickly learn about ISs that have gone down
than ESs. If a Redirect cache entry for an ES no longer works, it
means the ES is unreachable, whereas if an IS goes down, any Redirect
cache entries indicating traffic should be forwarded to that IS become
black holes for destinations that might be reachable through a
different IS.
5.4 Fragmentation Of The DR-Hello
The DR-IS Hello might become very large due to its including the IS
Adjacency information, which is the list of CLNP ID, SMDS address
pairs of all the router adjacencies on SMDS.
The DR-IS Hello is encoded so that partial information can appear and
be processed. This is done by including an address range when list of
addresses appears. Then receiving routers can adjust the portion of
their adjacency database or SMDS transmit list that is included in
that range, based solely on the information in one DR-IS Hello
fragment.
5.5 Maintenance Of The Destination Cache
Assume a packet is received with destination D, either from Transport
or from a link (in the case of a router).
1. (only relevant if packet arrived from Transport and the
Transport/Network Layer interface allows a notification by
Transport that it is not successfully communicating with that
destination). If Transport indicates a problem communicating
with D, then delete the cache entry for D. If no cache entry
exists for D, and this node is a simple ES or passive router,
delete knowledge of the active router (which will cause
re-pinging to find a new active router).
2. If a cache entry in the destination cache exists for D, then
a) if only a single SMDS address is indicated in the cache,
send to that SMDS address
b) if a set of SMDS addresses is given in the cache, find
the one after the one most recently used, update the
round robin pointer, and send to that SMDS address
3. Else (no cache entry exists), if this node is a nonpassive
router, and a route to D has been learned through the IS-IS
protocol which is of smaller cost or a more specific address
match than any address prefix that matches D that has been
configured for the SMDS circuit, then route according to the
IS-IS learned path.
Page 22
4. Else (no cache entry exists, no better information has been
learned through IS-IS), if D matches a configured address
prefix, then
a) if the configuration information indicates the SMDS
address should be extracted from D's IDP, then extract
the SMDS address and transmit the packet
b) if the configuration information is instead a specific
SMDS address, then transmit the packet to that SMDS
address
c) if the configuration information instead is a set of SMDS
addresses, then make a cache entry for (D, set of SMDS
addresses, round robin pointer). Send the packet to the
first SMDS address in the list and start the round robin
pointer there.
5. Else (no cache entry for D, D does not match any configured
address prefix)
a) if a router assumed to be active is known, transmit the
packet to that router's SMDS address
b) Else (no active router is known), perform the procedure
of pinging the router addresses. Hold the packet until a
router responds to the ping, but discard the packet if no
responses are received from any of the routers.
5.6 SMDS Configuration Information Included In LSPs
If CLNP addresses (IDs for level 1, and address prefixes for level 2)
are manually configured as being reachable across SMDS, they must
appear in LSPs so that routers that are not connected to SMDS can
reach those CLNP addresses. It is wasteful for all the routers on
SMDS to include those addresses in their LSPs. Therefore, a router
includes in its LSP only those manually configured addresses that are
not already included in the pseudonode LSP for SMDS. As a result if
all nonpassive routers on SMDS are configured with the same set of
reachable addresses for SMDS, only the DR will report those addresses
in an LSP (the pseudonode LSP). If the nonpassive routers are
incompletely configured, then all routers on SMDS that have been
configured with a reachable address that the DR has not been
configured with will report that reachable address in their LSP.
Redirects will eliminate extra hops across SMDS due to incompletely
configured information.
Page 23
6 PACKET FORMATS
The packet formats described below are the payload of an SMDS L3 PDU.
The SIP L3 information field starts with the fields DSAP, SSAP, and
CTL.
+---------------------------------+
| SIP L3 Header |
+---------------------------------+
| DSAP (1 octet) = fe hex | } SIP L3
+---------------------------------+ } information
| SSAP (1 octet) = fe hex | } field
+---------------------------------+ }
| CTL (1 octet) = 3 | }
+---------------------------------+ }
| CLNS Packet, as described | }
| below | }
+---------------------------------+
| Remaining SIP L3 fields |
| (padding, CRC, trailer) |
+---------------------------------+
6.1 Unchanged Packet Formats
1. CLNP packets (data packet and error report)
2. LSPs (Level 1 and level 2)
3. CSNPs (Level 1 and level 2)
4. PSNPs (Level 1 and level 2)
6.2 Initial Fields In All The SMDS Packets
All the packets start out with the following fields:
# of octets
+---------+
| NLPID | 1
+---------+
| Version | 1
+---------+
| length | 2
+---------+
| Type | 1
+---------+
Page 24
1. NLPID (Network Layer Protocol ID) will be 82 hex for ES-IS or
83 hex for IS-IS
2. Version, the constant 1
3. Length, the total length of the CLNS packet
4. Type, the type of packet:
1. SMDS ES Hello (ES-IS pkt): type 2
2. SMDS DR-ES Hello (ES-IS pkt): type 4
3. SMDS Level 1 IS Hello (IS-IS pkt): type 0f hex
4. SMDS Level 2 IS Hello (IS-IS pkt): type 10 hex
5. SMDS Redirect (ES-IS): type 6
Some have "options", which are encoded as:
# of octets
+---------+
| type | 1
+---------+
| length | 1 or 2 (depending on option type)
+---------+
| value | variable
+---------+
1. type, the type of option
2. length, the length in octets of the "data" field
3. data, the data associated with the option
The defined types for SMDS options are:
1. preconfigured SMDS addresses for reaching ISs, option type 1
2. IS adjacencies, option type 2
3. preconfigured SMDS addresses for reaching ESs, option type 3
4. area addresses, option type 4
5. password, option type 5
In addition, there are options that appear in ES-IS packets as defined
in ISO 9542. These options have a length field which is 1 octet. The
Page 25
ISO 9542-defined options may appear in the functionally equivalent
SMDS ES-IS packets defined in this document, in which case they would
have the option codes and functions (and a length field of 1 octet) as
defined in ISO 9542. Those options are:
1. security, option type c5 hex
2. quality of service maintenance, option type c3 hex
3. priority, option type cd hex
4. address mask, option type e1 hex
5. SNPA mask, option type e2 hex
6. suggested ES configuration timer, option type c6 hex
6.3 SMDS ES Hello
Only dynamically discovered ESs send ES Hellos. Usually an SMDS ES
will have to send a level 2 ES Hello because its IDP will not equal
the IDP of a router reachable across SMDS.
A level 1 ES Hello is distinguished from a level 2 ES Hello based on
the "level" flag.
1. NLPID, 1 octet, 82 hex (for ES-IS)
2. Version, 1 octet, the constant 1
3. Length, 2 octets, the total length of the packet
4. Packet Type
5. Holding Time, 2 octets, the value in seconds, equal to 3
times Hello Timer
6. level, 1 octet -- the top 7 bits are reserved. The bottom
bit=1 to indicate this is a level 2 ES Hello.
7. Number of source addresses, 1 octet. In a leve1 1 ES Hello,
each source address consists of the ID portion of the CLNP
address. In a level 2 ES Hello, each source address consists
of an octet specifying the address length, and an octet
specifying the address. In level 2 ES Hellos, the addresses
advertised are CLNP address prefixes.
8. Source address
9. Source address
10. ....
Page 26
11. Source address
12. Options
a) Password
i) Option type, 1 octet = 5
ii) length, 1 octet
iii) password
6.4 SMDS DR-to-ES Hello
1. NLPID, 1 octet, 82 hex (for ES-IS)
2. Version, 1 octet, the constant 1
3. Length, 2 octets, the total length of the packet
4. Packet Type
5. Holding Time, 2 octets, the value in seconds, equal to 3
times Hello Timer
6. Options
a) Password
i) Option type, 1 octet = 5
ii) length, 1 octet
iii) password
6.5 SMDS Level 1 IS Hello
This packet type is used both for a non-DR to send an ISH to the DR,
and for the DR to send its ISH to the other ISs.
1. NLPID, 1 octet, 83 hex (for IS-IS)
2. Version, 1 octet, the constant 1
Page 27
3. Length, 2 octets, the total length of the packet
4. Packet Type
5. Holding Time, 2 octets, the value in seconds, equal to 3
times Hello Timer
6. DR flag, 1 octet -- the top 7 bits are reserved. The bottom
bit=1 indicates the transmitting IS considers itself to be
the DR.
7. ID length, 1 octet, the number of octets this router thinks
is in the ID field of a CLNP address
8. Maximum area addresses, 1 octet, the maximum number of area
addresses this router is prepared to keep
9. Priority, 1 octet, the configured priority of this IS for
becoming DR
10. Circuit type, 1 octet, 1=level 1 only, 2=level 2 only, 3=both
level 1 and level 2
11. ID, (ID length octets)
12. SMDS group address (or 0 if none) this router receives
messages on, 8 octets -- this field is only present when the
ISH is transmitted by a non-DR
13. Options
a) Area addresses
i) Option type, 1 octet = 4
ii) length, 1 octet, a multiple of 8
iii) list of area addresses
a) Address length, 1 octet
b) Area Address
b) Preconfigured SMDS addresses for reaching ISs (only
transmitted by non-DR)
i) Option type, 1 octet = 1
ii) length, 2 octets, a multiple of 8
iii) list of SMDS addresses
Page 28
c) Preconfigured SMDS addresses for reaching ESs (only
transmitted by non-DR)
i) Option type, 1 octet = 3
ii) length, 2 octets, a multiple of 8
iii) list of SMDS addresses
d) IS addresses (only transmitted by DR)
i) option type, 1 octet = 2
ii) length, 2 octets, ID length*2 plus a multiple of 8+ID
Length
iii) Numerically lowest ID reported in this IS Hello
iv) Numerically highest ID reported in this IS Hello
v) ID, SMDS address pairs for nonpassive routers that
have been sending IS Hellos to the DR
e) Password
i) Option type, 1 octet = 5
ii) length, 1 octet
iii) password
6.6 SMDS Level 2 IS Hello
This has the same format as an SMDS Level 1 IS Hello. The only
difference is the packet type.
6.7 Redirect
This type of packet is used as a Hello Redirect and as a Data
Redirect. It is used for Level 1 and Level 2 Hello Redirection.
A Hello Redirect is used when an IS receives a Hello from an IS or an
ES, and that IS does not think itself to be the DR. The packet
informs the transmitter of the Hello of the SMDS address of the actual
DR. A level 1 IS Hello Redirect is sent in response to a level 1
Hello, and directs towards the level 1 DR. A level 2 IS Hello
Page 29
Redirect is sent in response to a level 2 Hello, and directs towards
the level 2 DR.
A Data Redirect is transmitted by an IS R to the SMDS address from
which R received a CLNP packet for forwarding, when R forwards the
packet back across the same SMDS network from which the CLNP packet
was received.
1. NLPID, 1 octet, 82 hex
2. Version, 1 octet, the constant 1
3. Length, 2 octets, the total length of the packet
4. Packet Type
5. Flags, 1 octet
6 1 1 # of bits
+----------+-------+-----+
| reserved | level | H/D |
+----------+-------+-----+
"level" is 0 for level 1, 1 for level 2. "H/D" is 0 for Data
Redirect, 1 for Hello Redirect
6. SMDS address, 8 octets: In the case of a Hello Redirect, it
is the SMDS address of the DR. In the case of a Data
Redirect, it is the SMDS address to forward to for that
destination, and all destinations matching that address
prefix.
7. Password (only present in Hello Redirect)
8. Holding Time, 2 octets, only present in Data Redirect, and is
in units of seconds
9. CLNP destination address length, 1 octet, only present in
Data Redirect
10. CLNP destination address, variable length, only present in
Data Redirect
11. Options
a) Password (present only in Hello Redirect)
i) Option type, 1 octet = 5
ii) length, 1 octet
iii) password
Page 30
7 ACRONYMS USED IN THIS SPECIFICATION
1. CLNP -- Connectionless Network Layer Protocol. CLNP is the
data packet format, including the standard for addressing.
2. CLNS -- Connectionless Network Layer Service. CLNS includes
the protocols CLNP, ES-IS and IS-IS.
3. ES -- End system
4. IS -- Intermediate system (i.e., a router)
5. ES-IS -- Protocol between neighbor ESs and ISs
6. IS-IS -- Protocol between ISs (includes ISs exchanging
routing information so as to compute routes, as well as a
protocol for neighbor ISs to find and keep track of each
other)
---------------------- end of specification -----------------------